package com.meituan.sdk.model.ddzh.yuding.ktvMtroomOperateStatus;

import com.meituan.sdk.annotations.ApiMeta;
import com.google.gson.reflect.TypeToken;
import javax.validation.constraints.NotBlank;
import java.lang.reflect.Type;
import com.meituan.sdk.internal.utils.JsonUtil;
import com.google.gson.annotations.SerializedName;
import javax.validation.constraints.NotNull;
import com.meituan.sdk.MeituanResponse;
import com.meituan.sdk.MeituanRequest;

/**
* 三方调用本接口用于将某时段下某房型设置为手动接单或满房
* This file was automatically generated.
*/
@ApiMeta(
    path = "/ddzh/yuding/ktv/mtroom/operateStatus",
    businessId = 58,
    apiVersion = "10007",
    apiName = "ktv_mtroom_operate_status",
    needAuth = true
)
public class KtvMtroomOperateStatusRequest implements MeituanRequest<KtvMtroomOperateStatusResponse> {
    /**
    * <p data-diff-id="ct-diff-id-3d64881f-0f0d-4082-a858-a3516f5a0759">美团房型id</p>
    */
    @NotNull(message = "mtRoomId不能为空")
    @SerializedName("mtRoomId")
    private Long mtRoomId;
    /**
    * <p data-diff-id="ct-diff-id-2609f6a8-3bcb-43b3-8baf-e12045173a32">美团时段id</p>
    */
    @NotNull(message = "mtPeriodId不能为空")
    @SerializedName("mtPeriodId")
    private Long mtPeriodId;
    /**
    * <p data-diff-id="ct-diff-id-0e9641da-7762-4896-af66-6ced034cbddf">日期 //2024-07-05</p>
    */
    @NotBlank(message = "date不能为空")
    @SerializedName("date")
    private String date;
    /**
    * <p data-diff-id="ct-diff-id-1f5f604c-40a5-4f3c-bec1-161bcea9a5f0">2：手动接单；3：满房</p>
    */
    @NotNull(message = "type不能为空")
    @SerializedName("type")
    private Integer type;

    public Long getMtRoomId() {
        return mtRoomId;
    }
    public void setMtRoomId(Long mtRoomId) {
        this.mtRoomId = mtRoomId;
    }
    public Long getMtPeriodId() {
        return mtPeriodId;
    }
    public void setMtPeriodId(Long mtPeriodId) {
        this.mtPeriodId = mtPeriodId;
    }
    public String getDate() {
        return date;
    }
    public void setDate(String date) {
        this.date = date;
    }
    public Integer getType() {
        return type;
    }
    public void setType(Integer type) {
        this.type = type;
    }


    @Override
    public MeituanResponse<KtvMtroomOperateStatusResponse> deserializeResponse(String response) {
        Type type = new TypeToken<MeituanResponse<KtvMtroomOperateStatusResponse>>(){}.getType();
        return JsonUtil.fromJson(response, type);
    }
    @Override
    public String serializeToJson() {
        return JsonUtil.toJson(this);
    }


    @Override
    public String toString() {
        return "KtvMtroomOperateStatusRequest{" + "mtRoomId=" + mtRoomId + "," + "mtPeriodId=" + mtPeriodId + "," + "date=" + date + "," + "type=" + type + "}";
    }
}
